package com.kmxd.ams.infra.system.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 单位信息表
 *
 * @author ZuoLG
 * @since 2022-07-14
 */
@Data
@TableName("sys_crop")
public class SysCrop implements Serializable {

  private static final long serialVersionUID = 1L;

  /** 主键ID */
  private Long id;

  /** 名称 非空 */
  private String name;

  /** 编码 非空、不可重复且全局唯一 */
  private String code;

  /** 缩写 */
  private String shortName;

  /** 父节点id 自关联，顶级默认0 */
  private Long parentId;

  /** 层级 公司与部门分别从0开始 */
  private Integer level;

  /** id路径 （例如：集团的path：/1/ 股份的path：/1/2/ 软件的path：/1/2/3/） */
  private String pathCode;

  /** name路径（例如：集团的path：/集团/ 股份的path：/集团/股份/ 软件的path：/集团/股份/软件/） */
  private String pathName;

  /** 数据源配置 */
  private Long datasource;

  /** 三员开关状态 0：未启，1：启用 */
  private Long divide;

  /** 下级单位授权数 */
  private Long subCropNum;

  /** 备注 */
  private String remarks;

  /** 排序 */
  private Integer sort;

  /** 创建人 */
  @TableField(fill = FieldFill.INSERT)
  private Long createBy;

  /** 创建时间 */
  @TableField(fill = FieldFill.INSERT)
  private Date createTime;

  /** 更新人 */
  @TableField(fill = FieldFill.INSERT_UPDATE)
  private Long updateBy;

  /** 更新时间 */
  @TableField(fill = FieldFill.INSERT_UPDATE)
  private Date updateTime;

  /** 删除状态(0-正常,1-已删除) */
  @TableLogic private Long delFlag;
}
